package com.jzoffer;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class IsCurrentNum {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        System.out.println(isNumeric(str.toCharArray()));

        br.close();
    }

    // 判断字符串是否符合条件
    public static boolean isNumeric(char[] str){
        if(str == null || str.length < 1){
            return false;
        }
        // 是否出现符号
        boolean hasMark = false;
        // 是否出现小数点
        boolean hasPoint = false;
        // 是否出现e/E
        boolean hasE = false;

        int len = str.length;

        for(int i = 0;i < len;i++){
            char temp = str[i];
            if(temp == 'e' || temp == 'E'){
                if(i == len - 1){
                    return false;
                }
                if(hasE){
                    return false;
                }
                hasE = true;
            }else if(temp == '+' || temp == '-'){
                // 第二次若出现正负号，必须在eE之后
                if(hasMark && (str[i - 1] != 'e' && str[i - 1] != 'E')){
                    return false;
                }
                // 第一次出现 不再开头也不再eE之后
                if(!hasMark && i > 0 && (str[i - 1] != 'e' && str[i-1] != 'E')){
                    return false;
                }
                hasMark = false;
            }else if(temp == '.'){
                // 点不能出现在头尾 也不能出现在e 更不能出现两次
                if(i == 0 || hasPoint || i == len - 1 || hasE){
                    return false;

                }
                hasPoint = true;
            }else if(temp < '0' || temp > '9'){
                return false;
            }
        }

        return true;
    }
}
